using System;
using System.ComponentModel.DataAnnotations;

namespace CR.Application.DTOs
{
    /// <summary>
    /// 深加工信息DTO
    /// </summary>
    public class DeepProcessingInfoDTO
    {
        /// <summary>
        /// 主键ID
        /// </summary>
        public Guid Id { get; set; }

        /// <summary>
        /// 溯源码
        /// </summary>
        [Required(ErrorMessage = "溯源码不能为空")]
        [StringLength(50, ErrorMessage = "溯源码长度不能超过50个字符")]
        public string TraceabilityCode { get; set; }

        /// <summary>
        /// 加工日期
        /// </summary>
        public DateTime ProcessingDate { get; set; }

        /// <summary>
        /// 加工方法
        /// </summary>
        [StringLength(500, ErrorMessage = "加工方法长度不能超过500个字符")]
        public string ProcessingMethod { get; set; }

        /// <summary>
        /// 加工企业
        /// </summary>
        [StringLength(100, ErrorMessage = "加工企业长度不能超过100个字符")]
        public string ProcessingCompany { get; set; }

        /// <summary>
        /// 加工负责人
        /// </summary>
        [StringLength(50, ErrorMessage = "加工负责人长度不能超过50个字符")]
        public string ResponsiblePerson { get; set; }

        /// <summary>
        /// 质量控制措施
        /// </summary>
        [StringLength(1000, ErrorMessage = "质量控制措施长度不能超过1000个字符")]
        public string QualityControlMeasures { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedAt { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdatedAt { get; set; }
    }
} 